// import com.alibaba.druid.sql.ast.SQLDeclareItem;
// import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlStatementImpl;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "../statement/MySqlStatementImpl.h"

class MySqlDeclareStatement : virtual public MySqlStatementImpl
{
public:
  SQLDeclareItem_list_ptr varList;

  MySqlDeclareStatement();
  SHAREDOBJECT(MySqlDeclareStatement);

  SQLDeclareItem_list_ptr getVarList();

  void addVar(SQLDeclareItem_ptr expr);

  void setVarList(SQLDeclareItem_list_ptr varList);

  // @Override
  void accept0(MySqlASTVisitor_ptr visitor);

  // @Override
  SQLDeclareItem_list_ptr getChildren();

  virtual string_ptr getClass() { return make_string_ptr("MySqlDeclareStatement"); }
};
